#ifndef PRIME_HH
#define PRIME_HH

#include "../../library/adistributedmodule.hh"

#define FACTORIAL_MODULE_MAKER_SYMBOL  "factorial_module_maker"
extern "C"
{
ADistributedModule *factorial_module_maker();
}

class Prime : public ADistributedModule
{
private: // variables
    double _value;

public:
    Prime(string modulePath);
    virtual ~Prime();

    virtual bool LoadData(void *data);
    virtual bool ExportData(void **data, int *size);

    void SetValue(double value);
    double GetResult();

protected:
    virtual bool executeLocal();
};

#endif // PRIME_HH
